<!-- userListPage.php 用于列出所有用户，增加了搜索功能和分页显示的功能。 -->
<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">  
  <title>用户列表</title>
 </head>
 <body>
 
 <?php 
  require_once('inc_admin.php');
  //连接数据库 
  connect();
  //编写sql语句
  $sql = "select uid, uname, gender, birthdate, hobby, degree, intro, pic from users";
  //关键字可能是用户点击搜索按钮得到的，也可能是点击”下一页“超链接得到的
  if($_REQUEST['key'])  {	  
	  $key = trim($_REQUEST['key']);
	  $sql = $sql." where uname like '%{$key}%' ";	  
  }

  //获取总行数，用于计算分几页显示
  $totalrows = getTotalRows($sql);

  //获取指定的页码
  $page = $_REQUEST['page'];
  //判断是否指定第几页，如果没有指定，则显示第1页。
  if(!isset($page))	$page = 1;
  //如果用户点击了搜索按钮，则页码也设置第1页
  if($_POST['search'])		  $page = 1;
  //定义每页显示的行数
  $rowsperpage = 2;
  //计算从表中第几行开始输出
  $start = ($page-1) * $rowsperpage;

  //查询用户，从第$start行开始，共查询$rowsperpage行。
  $sql .= " limit {$start}, {$rowsperpage}";
  //echo $sql.'<br/>';
  //执行sql语句
  $result = fetch_array($sql);  
 ?>

 <center><h3>用户列表</h3></center>
 <table align="center" width="80%">
 <tr><td  align="left" >
 <form method=post action="">
    请输入用户名：
	<input type="text" name="key">
	<input type="submit" name='search' value="搜索">	
 </form> 
 </td></tr>
 </table>

 <table align="center" width="80%" border=1> 
 <tr>
   <th>用户编号</th>
   <th>用户名</th>   
   <th>性别</th>
   <th>生日</th>
   <th>爱好</th>
   <th>学历</th>
   <th>自我介绍</th> 
   <th width='80'>头像</th>
   <th>操作</th>
 </tr>

 <?php
  foreach($result as $row){
	 echo '<tr>';
	 echo '<td>'.$row['uid'].'</td>';
	 echo '<td>'.$row['uname'].'</td>';	 
	 echo '<td>'.($row['gender']==0?'男':'女').'</td>';
	 echo '<td>'.$row['birthdate'].'</td>';
	 echo '<td>'.$row['hobby'].'</td>';
	 switch($row['degree']){
	   case '1':$dg = "高中";break;
	   case '2':$dg = "大学";break;
	   case '3':$dg = "研究生";break;
	   case '4':$dg = "博士生";break;
	   default: $dg="不知道";
     }
	 echo '<td>'.$dg.'</td>';
	 echo '<td>'.$row['intro'].'</td>';	 	 
	 echo '<td align="center"><img src='.$row['pic'].' width=60 height=80></td>';	 
	 echo '<td><a href="userEditForm.php?id='.$row['uid'].' ">修改</a> | 
	 <a href="userDelete.php?id='.$row['uid'].'" onClick="return confirm(\'确定要删除吗？\');">删除</a></td>';
	 echo '</tr>';  
  }
  echo '</table>';  
  
  //计算总页数。如果每页显示的行数>总行数，则只有1页，否则，页数=总行数/每页行数，上取整。
  //echo $rowsperpage.', '.$totalrows;
  if($rowsperpage >= $totalrows)
      $totalpages = 1;
  else{	  
	  $totalpages = ceil($totalrows / $rowsperpage);
  }
  //如果不是第1页，则显示第一页和上一页的超链接，否则只显示文字
  if($page>1){
	  $first = "<a href=?page=1&key={$key}>第一页</a>";
	  $pre = "<a href=?page=".($page-1)."&key={$key}>上一页</a>";
  }else{
	  $first = '首页';
	  $pre = '上一页';
  }
  //如果不是最后一页，则显示下一页和最后一页的超链接，否则只显示文字
  if($page<$totalpages){
	  $last = "<a href=?page=$totalpages&key={$key}>尾页</a>";
	  $next = "<a href=?page=".($page+1)."&key={$key}>下一页</a>";
  }else{
	  $last = '尾页';
	  $next = '下一页';
  }
  echo "<table align='center'><tr>";
  echo "<td>共{$totalrows}条记录</td>";
  echo "<td>$first"."&nbsp;&nbsp;"."$pre"."&nbsp;&nbsp;";
  for($i=1;$i<=$totalpages;$i++) {
		echo "<a href='?page=$i&key={$key}'>第{$i}页</a>&nbsp;&nbsp;";
  }
  echo "$next"."&nbsp;&nbsp;"."$last &nbsp;";
  //输出第几页/共几页
  echo "<font color=red>";
  echo "第".$page."页/共".$totalpages."页";
  echo "</font></td>";
  //输出转到几页的表单
  ?>
  <td>
  <form method=post action="">
  <input type="text" name="page" placeholder="" size=2>
  <input type="submit" value="转到">  
  </form>
  </td></tr></table>
 
 </body>
</html>